/* 
 * File:   Draw.hpp
 * Author: gustavo
 *
 * Created on August 28, 2012, 4:27 AM
 */

#ifndef DRAW_HPP
#define	DRAW_HPP

namespace imp {

	namespace img {

		struct Ref2D {

			union {
				int x;
				int column;
			};

			union {
				int y;
				int row;
			};
		};

		template <typename T> class Color {
			T cor;
			float alpha;
		};
		
		template <> class Color<int> {
			
		};

		template <typename T> class Draw {
			/////
		public:
			Image<T> * img;
			Color color;

			void setColor(Color& c);


			void segment(Ref2D start, Ref2D end);
			void rect(Ref2D start, Ref2D end);
			void line(Ref2D p1, Ref2D p2);

			void circle(Ref2D center, int ray);



		};

	}

}

#endif	/* DRAW_HPP */

